Fiche SQL

 

Le manuel de référence de MySQL 5.0 en français

http://dev.mysql.com/doc/refman/5.0/fr/index.html

 

Le cadrage du langage SQL au bac STG GSI

Source : Mémentos bac STG épreuve de spécialité en GSI (Inspection générale de l’Éducation nationale / Direction générale de l’Enseignement scolaire)

http://media.eduscol.education.fr/file/Lycee/76/7/bacSTG_GSI_mementos_111767.pdf

 

Notation utilisée

·          Les éléments entre crochets []sont facultatifs.

·          colonne désigne le nom d'une colonne éventuellement préfixée par le nom de la table ou la vue à laquelle elle appartient.              NomTable.NomColonne ou                  NomVue.NomColonne.

·          élément1 [,élément2…] signifie une liste d'éléments (noms de colonne par exemple) séparés par une virgule. Cette liste comporte au minimum 1 élément.

 

 

Gestion Des Tables

 

Création de tables:

CREATE TABLE NomTable

     (

     Colonne1      typeColonne        [NOT NULL]

     [, Colonne2   typeColonne        [NOT NULL]    ]

     [, ColonneN   typeColonne        [NOT NULL]    ]

PRIMARY KEY

(

Colonne1

[,Colonne2]

)

FOREIGN KEY

(

Colonne1 REFERENCES Nomtable1 (colonne1 [,colonne2 …])

)

)

 

typeColonne peut être CHAR (longueur), INTEGER, FLOAT, DATE.

 

Modification de table

Ajout d'une colonne

ALTER TABLE nomTable

ADD Col1 typeCol1 [NOT NULL]

[, Col2 typeCol2 [NOT NULL]   (…)     ;

 

 

Suppression d'une colonne

ALTER TABLE nomTable

DROP Col1 [, Col2]     ;

 

Ajout d'une clef étrangère

ALTER TABLE nomTable

     ADD FOREIGN KEY (col1 [,col2 …])

         REFERENCES nomTable1 (col1 [,col2 …]);

 

Suppression de table :

DROP TABLE nomTable:

 

Création de vues

CREATE VIEW nomVue AS ordreSelect:

 

Suppression de vue

DROP VIEW nomVue;

GESTION DES DONNÉES

Insertion de nouvelles données:

INSERT INTO nomTable [(col1 [,col2 … ])] VALUES (val1 [, val2 …]);

-         les valeurs sont des littéraux ou le mot-clef NULL.

-         Les littéraux de type chaîne sont encadrés par des apostrophes (quotes)

-         Les littéraux de type date sont encadrés par des apostrophes (quotes) et sont au format 'JJ/MM/AAAA'.

 

INSERT INTO nomTable [(col1 [, col2 … ])] ordreSelect;

 

Modification de données existantes

UPDATE nomTable  SET col1 = val1  [, col2 = val2 … ])]

[WHERE conditionDeSélection] ;

-         conditionDeSélection est expliqué à la section suivante

 

Suppression de données existantes

DELETE FROM nomTable [WHERE conditionDeSélection]

 

INTERROGATION DE DONNÉES

Ordre select sans fonction SQL ni regroupement

 

SELECT [DISTINCT]

col1 [AS nomAlias1]

[, col2 [AS nomAlias2]  …]

FROM     nomTableounomVue1 [nomAlias1]

[nomTableOuNomVue2 [nomAlias2]  … ]

[WHERE conditionDeSelection]

[ORDER BY col1 [DESC]  

[, col2 [DESC] … ]]

-         la liste des colonnes située après le mote SELECT peut être remplacée par le symbole *

 

Conditions de sélection :

Une condition de sélection peut être composée d'une ou de plusieurs conditions élémentaires combinées à l'aide des opérateurs logiques NOT, AND, OR et en utilisant des parenthèses si besoin.

 

Conditions élémentaires

Colonne = valeurOuColonne

Colonne <> valeurOuColonne

Colonne < valeurOuColonne

Colonne > valeurOuColonne

Colonne <= valeurOuColonne

Colonne >= valeurOuColonne

Colonne IS [NOT] NULL

Colonne LIKE filtre

Colonne BETWEEN val1 AND val2

Colonne IN (val1, val2, …)

Colonne IN (ordreSelect)

Colonne = (ordreSelect)

Filtre désigne une chaîne de caractères comportant les symboles  et/ou _

 

Ordres SELECT utilisant des fonctions SQL et/ou des regroupements

 

SELECT [DISTINCT]

colonneOuFonctionSql1 [AS nomAlias1]

[, colonneOuFonctionSql2 [AS nomAlias2]  … ]

[WHERE conditionDeSelection ]

[GROUP BY

colonne1

[, colonne1  … ]

[HAVING ConditionDeSélectionGroupes] ]

[ORDER BY

colonneOuFonctionSql1 [DESC]

[, colonneOuFonctionSql2 [DESC] … ]

 

-         colonneOuFonctionSql désigne une colonne ou l'une des fonctions SQL décrites ci-dessous.

 

Fonctions SQL

COUNT (*)

COUNT(colonne)

SUM (colonne)

AVG (colonne)

MAX (colonne)

MIN (colonne)

 

Condition de sélection des groupes

Une condition de sélection des groupes (désignée dans ce mémento par ConditionDeSélectionGroupes) peut-être composée d'une ou de plusieurs conditions élémentaires de sélection de groupes combinées à l'aide des opérateurs logiques NOT, AND, OR en utilisant des parenthèses si besoin.

Une condition élémentaire de sélection des groupes peut prendre l'une des formes ci-dessous :

fonctionSql = valeur

fonctionSql <> valeur

fonctionSql < valeur

fonctionSql > valeur

fonctionSql <= valeur

fonctionSql >= valeur